Chart Printing এর জন্য Customization

Web Development - অ্যাঙ্গুলার গুগল চার্ট (Angular Google Charts) - Chart Export এবং Printing (চার্ট এক্সপোর্ট এবং প্রিন্টিং) |
3
3

Google Charts API-এ চার্ট প্রিন্ট করার জন্য বিশেষ কোনো বিল্ট-ইন ফিচার নেই, তবে আপনি JavaScript এবং CSS ব্যবহার করে সহজেই Google Charts থেকে চার্ট প্রিন্ট করতে পারেন। প্রিন্টিং প্রক্রিয়াতে চার্টের কাস্টমাইজেশন ও ডিজাইন পরিবর্তন করা যাবে যাতে তা প্রিন্টিংয়ের জন্য উপযুক্ত হয়। এখানে আমরা দেখব কিভাবে Google Charts প্রিন্ট করার জন্য কাস্টমাইজেশন করা যায় এবং প্রিন্টিং ফিচার যোগ করা যায়।


Step 1: Angular প্রজেক্ট তৈরি এবং Google Charts ইন্সটল করা

প্রথমে একটি Angular অ্যাপ তৈরি করুন এবং angular-google-charts লাইব্রেরি ইন্সটল করুন।

ng new google-charts-printing
cd google-charts-printing
npm install angular-google-charts

এটি ইনস্টল হওয়ার পর angular-google-charts আপনার node_modules ফোল্ডারে যুক্ত হয়ে যাবে।


Step 2: GoogleChartsModule ইমপোর্ট করা

এখন, app.module.ts ফাইলে GoogleChartsModule ইমপোর্ট করতে হবে।

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { GoogleChartsModule } from 'angular-google-charts'; // GoogleChartsModule ইমপোর্ট

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    GoogleChartsModule // এখানে GoogleChartsModule যোগ করুন
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Step 3: Chart তৈরি করা

এখন আমরা একটি চার্ট তৈরি করব যা পরে প্রিন্ট করা হবে। এখানে আমরা Pie Chart ব্যবহার করব, তবে একই পদ্ধতিতে অন্য চার্টগুলিও প্রিন্ট করা যাবে।

app.component.ts:

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'Google Charts Printing Example';

  chartType = 'PieChart'; // Chart Type
  chartData = [
    ['Task', 'Hours per Day'],
    ['Work', 8],
    ['Eat', 2],
    ['Commute', 2],
    ['Watch TV', 2],
    ['Sleep', 8]
  ]; // Chart Data

  chartOptions = {
    title: 'My Daily Activities',
    pieHole: 0.4,
    width: 600,
    height: 400
  };

  ngOnInit() {
    google.charts.load('current', { packages: ['corechart', 'pie'] });
    google.charts.setOnLoadCallback(this.drawChart.bind(this));
  }

  drawChart() {
    const data = google.visualization.arrayToDataTable(this.chartData);
    const chart = new google.visualization.PieChart(document.getElementById('chart_div'));
    chart.draw(data, this.chartOptions);
  }

  // Function to print the chart
  printChart() {
    const printWindow = window.open('', '', 'height=600,width=800');
    printWindow.document.write('<html><head><title>Print Chart</title></head><body>');
    printWindow.document.write('<h1>' + this.title + '</h1>');
    printWindow.document.write('<div id="chart_div" style="width: 600px; height: 400px;"></div>');
    printWindow.document.write('<script type="text/javascript">');
    printWindow.document.write('google.charts.load("current", { packages: ["corechart", "pie"] });');
    printWindow.document.write('google.charts.setOnLoadCallback(function() {');
    printWindow.document.write('var data = google.visualization.arrayToDataTable(' + JSON.stringify(this.chartData) + ');');
    printWindow.document.write('var chart = new google.visualization.PieChart(document.getElementById("chart_div"));');
    printWindow.document.write('chart.draw(data, ' + JSON.stringify(this.chartOptions) + ');');
    printWindow.document.write('});');
    printWindow.document.write('</script>');
    printWindow.document.write('</body></html>');
    printWindow.document.close();
    printWindow.print();
  }
}

Explanation:

  • drawChart(): এই ফাংশনটি চার্ট রেন্ডার করার জন্য ব্যবহৃত হয়।
  • printChart(): এই ফাংশনটি নতুন একটি উইন্ডো খোলে যেখানে চার্ট প্রিন্ট করার জন্য প্রস্তুত থাকে। এখানে আমরা window.open ব্যবহার করেছি, যার মাধ্যমে নতুন উইন্ডো খোলা হয় এবং তারপর সেটিতে Google Chart ড্র করানো হয়। তারপর printWindow.print() কল করে প্রিন্ট কমান্ড দেয়া হয়।

Step 4: HTML ফাইলে Chart রেন্ডার এবং Print Button

এখন, app.component.html ফাইলে আমরা Pie Chart রেন্ডার করব এবং Print বাটনটি যোগ করব।

app.component.html:

<h1>{{ title }}</h1>

<!-- Google Chart Component -->
<google-chart 
  [type]="chartType" 
  [data]="chartData" 
  [options]="chartOptions">
</google-chart>

<!-- Print Button -->
<button (click)="printChart()" style="margin-top: 20px;">Print Chart</button>

<!-- Chart Container -->
<div id="chart_div" style="width: 600px; height: 400px;"></div>

Step 5: Print Functionality কাস্টমাইজেশন

এখন, আপনি যদি চান, তবে আপনি প্রিন্টের সময় চার্টের লেআউট, ফন্ট সাইজ, রঙ এবং স্টাইল আরও কাস্টমাইজ করতে পারেন। printChart() ফাংশনে যে HTML কোডটি আমরা প্রিন্ট উইন্ডোতে inject করেছি, সেখানে আপনি সহজেই CSS যোগ করে প্রিন্টের লেআউট কাস্টমাইজ করতে পারেন।

<style>
  body {
    font-family: Arial, sans-serif;
  }
  #chart_div {
    border: 1px solid #ccc;
    padding: 20px;
    background-color: #f9f9f9;
  }
</style>

এটি প্রিন্ট পেজের লেআউট এবং ডিজাইনকে আরও সুন্দর এবং প্রফেশনাল করে তুলবে।


Step 6: অ্যাপ্লিকেশন চালানো

এখন, অ্যাপ্লিকেশনটি চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:

ng serve

এটি ডিফল্টভাবে অ্যাপ্লিকেশনটি http://localhost:4200 এ রান করবে। ব্রাউজারে গিয়ে আপনি Pie Chart দেখতে পারবেন এবং Print বাটন ক্লিক করে সেটি প্রিন্ট করতে পারবেন।


সারাংশ

Google Charts API ব্যবহার করে আপনি চার্ট প্রিন্ট করতে পারেন, তবে এটি কিছু অতিরিক্ত কোডিংয়ের মাধ্যমে করতে হয়। আমরা এখানে Angular ব্যবহার করে Pie Chart প্রিন্ট করার একটি কাস্টমাইজড পদ্ধতি দেখিয়েছি। window.print() ফাংশন ব্যবহার করে আপনি সহজেই চার্টটি প্রিন্ট করতে পারবেন এবং প্রিন্টের জন্য প্রয়োজনীয় কাস্টমাইজেশন করতে পারবেন, যেমন লেআউট, ফন্ট সাইজ, রঙ, এবং স্টাইল

Content added By
Promotion